// Copyright (c) 2017-2025 Tencent. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package v20210331

import (
    tcerr "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/errors"
    tchttp "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/http"
    "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/json"
)

// Predefined struct for user
type AcceptJoinShareUnitInvitationRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type AcceptJoinShareUnitInvitationRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

func (r *AcceptJoinShareUnitInvitationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AcceptJoinShareUnitInvitationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AcceptJoinShareUnitInvitationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AcceptJoinShareUnitInvitationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AcceptJoinShareUnitInvitationResponse struct {
	*tchttp.BaseResponse
	Response *AcceptJoinShareUnitInvitationResponseParams `json:"Response"`
}

func (r *AcceptJoinShareUnitInvitationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AcceptJoinShareUnitInvitationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddExternalSAMLIdPCertificateRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type AddExternalSAMLIdPCertificateRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

func (r *AddExternalSAMLIdPCertificateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddExternalSAMLIdPCertificateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "X509Certificate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddExternalSAMLIdPCertificateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddExternalSAMLIdPCertificateResponseParams struct {
	// SAML signing certificate ID.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddExternalSAMLIdPCertificateResponse struct {
	*tchttp.BaseResponse
	Response *AddExternalSAMLIdPCertificateResponseParams `json:"Response"`
}

func (r *AddExternalSAMLIdPCertificateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddExternalSAMLIdPCertificateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddOrganizationMemberEmailRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Email address.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

type AddOrganizationMemberEmailRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Email address.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

func (r *AddOrganizationMemberEmailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddOrganizationMemberEmailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "Email")
	delete(f, "CountryCode")
	delete(f, "Phone")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddOrganizationMemberEmailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddOrganizationMemberEmailResponseParams struct {
	// Bound ID.
	// Note: this field may return null, indicating that no valid values can be obtained.
	BindId *uint64 `json:"BindId,omitnil,omitempty" name:"BindId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddOrganizationMemberEmailResponse struct {
	*tchttp.BaseResponse
	Response *AddOrganizationMemberEmailResponseParams `json:"Response"`
}

func (r *AddOrganizationMemberEmailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddOrganizationMemberEmailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddOrganizationNodeRequestParams struct {
	// Parent node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	ParentNodeId *uint64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Department tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type AddOrganizationNodeRequest struct {
	*tchttp.BaseRequest
	
	// Parent node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	ParentNodeId *uint64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Department tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *AddOrganizationNodeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddOrganizationNodeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ParentNodeId")
	delete(f, "Name")
	delete(f, "Remark")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddOrganizationNodeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddOrganizationNodeResponseParams struct {
	// Node ID.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddOrganizationNodeResponse struct {
	*tchttp.BaseResponse
	Response *AddOrganizationNodeResponseParams `json:"Response"`
}

func (r *AddOrganizationNodeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddOrganizationNodeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddPermissionPolicyToRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.  
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, supporting up to 20 policies, with each policy having a maximum of 32 characters. If you need to add a system policy, it is recommended to use the RolePolicies parameter. For custom policies, the array length is up to 1.
	RolePolicyNames []*string `json:"RolePolicyNames,omitnil,omitempty" name:"RolePolicyNames"`

	// Details of an added system policy.
	RolePolicies []*PolicyDetail `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	CustomPolicyDocument *string `json:"CustomPolicyDocument,omitnil,omitempty" name:"CustomPolicyDocument"`
}

type AddPermissionPolicyToRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.  
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, supporting up to 20 policies, with each policy having a maximum of 32 characters. If you need to add a system policy, it is recommended to use the RolePolicies parameter. For custom policies, the array length is up to 1.
	RolePolicyNames []*string `json:"RolePolicyNames,omitnil,omitempty" name:"RolePolicyNames"`

	// Details of an added system policy.
	RolePolicies []*PolicyDetail `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	CustomPolicyDocument *string `json:"CustomPolicyDocument,omitnil,omitempty" name:"CustomPolicyDocument"`
}

func (r *AddPermissionPolicyToRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddPermissionPolicyToRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "RolePolicyType")
	delete(f, "RolePolicyNames")
	delete(f, "RolePolicies")
	delete(f, "CustomPolicyDocument")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddPermissionPolicyToRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddPermissionPolicyToRoleConfigurationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddPermissionPolicyToRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *AddPermissionPolicyToRoleConfigurationResponseParams `json:"Response"`
}

func (r *AddPermissionPolicyToRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddPermissionPolicyToRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared member list. Maximum: 10.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

type AddShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared member list. Maximum: 10.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

func (r *AddShareUnitMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Members")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddShareUnitMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitMembersResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitMembersResponseParams `json:"Response"`
}

func (r *AddShareUnitMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitRequestParams struct {
	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

type AddShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

func (r *AddShareUnitRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Area")
	delete(f, "Description")
	delete(f, "ShareScope")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddShareUnitRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ProductResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

type AddShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ProductResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

func (r *AddShareUnitResourcesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitResourcesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Type")
	delete(f, "Resources")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddShareUnitResourcesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitResourcesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitResourcesResponseParams `json:"Response"`
}

func (r *AddShareUnitResourcesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitResourcesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddShareUnitResponseParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitResponseParams `json:"Response"`
}

func (r *AddShareUnitResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddShareUnitResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddUserToGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type AddUserToGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

func (r *AddUserToGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddUserToGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	delete(f, "UserId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddUserToGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddUserToGroupResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddUserToGroupResponse struct {
	*tchttp.BaseResponse
	Response *AddUserToGroupResponseParams `json:"Response"`
}

func (r *AddUserToGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddUserToGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type AuthRelationFile struct {
	// File name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// File path.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

// Predefined struct for user
type BindOrganizationMemberAuthAccountRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained by calling [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization admin, which can contain up to five UINs.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

type BindOrganizationMemberAuthAccountRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained by calling [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization admin, which can contain up to five UINs.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

func (r *BindOrganizationMemberAuthAccountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindOrganizationMemberAuthAccountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "PolicyId")
	delete(f, "OrgSubAccountUins")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindOrganizationMemberAuthAccountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindOrganizationMemberAuthAccountResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type BindOrganizationMemberAuthAccountResponse struct {
	*tchttp.BaseResponse
	Response *BindOrganizationMemberAuthAccountResponseParams `json:"Response"`
}

func (r *BindOrganizationMemberAuthAccountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindOrganizationMemberAuthAccountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CancelOrganizationMemberAuthAccountRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Organization sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`
}

type CancelOrganizationMemberAuthAccountRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Organization sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`
}

func (r *CancelOrganizationMemberAuthAccountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CancelOrganizationMemberAuthAccountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "PolicyId")
	delete(f, "OrgSubAccountUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CancelOrganizationMemberAuthAccountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CancelOrganizationMemberAuthAccountResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CancelOrganizationMemberAuthAccountResponse struct {
	*tchttp.BaseResponse
	Response *CancelOrganizationMemberAuthAccountResponseParams `json:"Response"`
}

func (r *CancelOrganizationMemberAuthAccountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CancelOrganizationMemberAuthAccountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ClearExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type ClearExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *ClearExternalSAMLIdentityProviderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ClearExternalSAMLIdentityProviderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ClearExternalSAMLIdentityProviderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ClearExternalSAMLIdentityProviderResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ClearExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *ClearExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

func (r *ClearExternalSAMLIdentityProviderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ClearExternalSAMLIdentityProviderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group name, which contains up to 128 characters, including English letters, digits, and special characters (-).
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group type. Manual: manually created, Synchronized: imported from external sources.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`
}

type CreateGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group name, which contains up to 128 characters, including English letters, digits, and special characters (-).
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group type. Manual: manually created, Synchronized: imported from external sources.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`
}

func (r *CreateGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupName")
	delete(f, "Description")
	delete(f, "GroupType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateGroupResponse struct {
	*tchttp.BaseResponse
	Response *CreateGroupResponseParams `json:"Response"`
}

func (r *CreateGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrgServiceAssignRequestParams struct {
	// Uin list of the delegated admins, including up to 20 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: 1.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// Uin list of the managed members. This parameter is valid when ManagementScope is 2.
	ManagementScopeUins []*int64 `json:"ManagementScopeUins,omitnil,omitempty" name:"ManagementScopeUins"`

	// ID list of the managed departments. This parameter is valid when ManagementScope is 2.
	ManagementScopeNodeIds []*int64 `json:"ManagementScopeNodeIds,omitnil,omitempty" name:"ManagementScopeNodeIds"`
}

type CreateOrgServiceAssignRequest struct {
	*tchttp.BaseRequest
	
	// Uin list of the delegated admins, including up to 20 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: 1.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// Uin list of the managed members. This parameter is valid when ManagementScope is 2.
	ManagementScopeUins []*int64 `json:"ManagementScopeUins,omitnil,omitempty" name:"ManagementScopeUins"`

	// ID list of the managed departments. This parameter is valid when ManagementScope is 2.
	ManagementScopeNodeIds []*int64 `json:"ManagementScopeNodeIds,omitnil,omitempty" name:"ManagementScopeNodeIds"`
}

func (r *CreateOrgServiceAssignRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrgServiceAssignRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUins")
	delete(f, "ServiceId")
	delete(f, "ManagementScope")
	delete(f, "ManagementScopeUins")
	delete(f, "ManagementScopeNodeIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrgServiceAssignRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrgServiceAssignResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrgServiceAssignResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrgServiceAssignResponseParams `json:"Response"`
}

func (r *CreateOrgServiceAssignResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrgServiceAssignResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationIdentityRequestParams struct {
	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

	// Identity description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type CreateOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

	// Identity description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *CreateOrganizationIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IdentityAliasName")
	delete(f, "IdentityPolicy")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationIdentityResponseParams struct {
	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationIdentityResponseParams `json:"Response"`
}

func (r *CreateOrganizationIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberAuthIdentityRequestParams struct {
	// Member UIN list, including up to 10 items.
	MemberUins []*uint64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Identity ID list, including up to 5 items, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityIds []*uint64 `json:"IdentityIds,omitnil,omitempty" name:"IdentityIds"`
}

type CreateOrganizationMemberAuthIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN list, including up to 10 items.
	MemberUins []*uint64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Identity ID list, including up to 5 items, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityIds []*uint64 `json:"IdentityIds,omitnil,omitempty" name:"IdentityIds"`
}

func (r *CreateOrganizationMemberAuthIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberAuthIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUins")
	delete(f, "IdentityIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationMemberAuthIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberAuthIdentityResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationMemberAuthIdentityResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberAuthIdentityResponseParams `json:"Response"`
}

func (r *CreateOrganizationMemberAuthIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberAuthIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberPolicyRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy name, which can contain up to 128 letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [DescribeOrganizationMemberAuthIdentities](https://intl.cloud.tencent.com/document/product/850/82936?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type CreateOrganizationMemberPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy name, which can contain up to 128 letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [DescribeOrganizationMemberAuthIdentities](https://intl.cloud.tencent.com/document/product/850/82936?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *CreateOrganizationMemberPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "PolicyName")
	delete(f, "IdentityId")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationMemberPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberPolicyResponseParams struct {
	// Policy ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationMemberPolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberPolicyResponseParams `json:"Response"`
}

func (r *CreateOrganizationMemberPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberRequestParams struct {
	// Member name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1, 2 and 7 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Account name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	AccountName *string `json:"AccountName,omitnil,omitempty" name:"AccountName"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Member creation record ID, which is required during retry upon creation exception.
	RecordId *int64 `json:"RecordId,omitnil,omitempty" name:"RecordId"`

	// Payer UIN, which is required during paying for a member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// List of member access identity IDs, which can be obtained through the `ListOrganizationIdentity` API. `1` indicates supported, which is the default value.
	IdentityRoleID []*uint64 `json:"IdentityRoleID,omitnil,omitempty" name:"IdentityRoleID"`

	// Verified entity relationship ID, which is required during creating members for different entities.
	AuthRelationId *int64 `json:"AuthRelationId,omitnil,omitempty" name:"AuthRelationId"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type CreateOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// Member name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1, 2 and 7 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Account name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	AccountName *string `json:"AccountName,omitnil,omitempty" name:"AccountName"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Member creation record ID, which is required during retry upon creation exception.
	RecordId *int64 `json:"RecordId,omitnil,omitempty" name:"RecordId"`

	// Payer UIN, which is required during paying for a member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// List of member access identity IDs, which can be obtained through the `ListOrganizationIdentity` API. `1` indicates supported, which is the default value.
	IdentityRoleID []*uint64 `json:"IdentityRoleID,omitnil,omitempty" name:"IdentityRoleID"`

	// Verified entity relationship ID, which is required during creating members for different entities.
	AuthRelationId *int64 `json:"AuthRelationId,omitnil,omitempty" name:"AuthRelationId"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *CreateOrganizationMemberRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "PolicyType")
	delete(f, "PermissionIds")
	delete(f, "NodeId")
	delete(f, "AccountName")
	delete(f, "Remark")
	delete(f, "RecordId")
	delete(f, "PayUin")
	delete(f, "IdentityRoleID")
	delete(f, "AuthRelationId")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationMemberRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMemberResponseParams struct {
	// Member UIN.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uin *int64 `json:"Uin,omitnil,omitempty" name:"Uin"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberResponseParams `json:"Response"`
}

func (r *CreateOrganizationMemberResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMemberResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMembersPolicyRequestParams struct {
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Policy name, which contains 1 to 128 characters, including English letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type CreateOrganizationMembersPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Policy name, which contains 1 to 128 characters, including English letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *CreateOrganizationMembersPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMembersPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUins")
	delete(f, "PolicyName")
	delete(f, "IdentityId")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationMembersPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationMembersPolicyResponseParams struct {
	// Policy ID.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationMembersPolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMembersPolicyResponseParams `json:"Response"`
}

func (r *CreateOrganizationMembersPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationMembersPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationRequestParams struct {

}

type CreateOrganizationRequest struct {
	*tchttp.BaseRequest
	
}

func (r *CreateOrganizationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateOrganizationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateOrganizationResponseParams struct {
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`

	// Creator's nickname.
	NickName *string `json:"NickName,omitnil,omitempty" name:"NickName"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationResponseParams `json:"Response"`
}

func (r *CreateOrganizationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateOrganizationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoleAssignmentRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Authorized member account information, up to 50 entries.
	RoleAssignmentInfo []*RoleAssignmentInfo `json:"RoleAssignmentInfo,omitnil,omitempty" name:"RoleAssignmentInfo"`
}

type CreateRoleAssignmentRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Authorized member account information, up to 50 entries.
	RoleAssignmentInfo []*RoleAssignmentInfo `json:"RoleAssignmentInfo,omitnil,omitempty" name:"RoleAssignmentInfo"`
}

func (r *CreateRoleAssignmentRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoleAssignmentRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleAssignmentInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRoleAssignmentRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoleAssignmentResponseParams struct {
	// Task details.
	Tasks []*TaskInfo `json:"Tasks,omitnil,omitempty" name:"Tasks"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateRoleAssignmentResponse struct {
	*tchttp.BaseResponse
	Response *CreateRoleAssignmentResponseParams `json:"Response"`
}

func (r *CreateRoleAssignmentResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoleAssignmentResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description, which contains up to 1,024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours). Default: 3600 (1 hour).
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page. The default value is empty, representing a redirection to the home page of the Tencent Cloud console.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`
}

type CreateRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description, which contains up to 1,024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours). Default: 3600 (1 hour).
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page. The default value is empty, representing a redirection to the home page of the Tencent Cloud console.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`
}

func (r *CreateRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationName")
	delete(f, "Description")
	delete(f, "SessionDuration")
	delete(f, "RelayState")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoleConfigurationResponseParams struct {
	// Access configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *CreateRoleConfigurationResponseParams `json:"Response"`
}

func (r *CreateRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSCIMCredentialRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type CreateSCIMCredentialRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *CreateSCIMCredentialRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSCIMCredentialRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSCIMCredentialRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSCIMCredentialResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key type.
	CredentialType *string `json:"CredentialType,omitnil,omitempty" name:"CredentialType"`

	// Creation time of a SCIM key.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Expiration time of a SCIM key.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	CredentialStatus *string `json:"CredentialStatus,omitnil,omitempty" name:"CredentialStatus"`

	// SCIM key.
	CredentialSecret *string `json:"CredentialSecret,omitnil,omitempty" name:"CredentialSecret"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSCIMCredentialResponse struct {
	*tchttp.BaseResponse
	Response *CreateSCIMCredentialResponseParams `json:"Response"`
}

func (r *CreateSCIMCredentialResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSCIMCredentialResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User name, which must be unique within the space and cannot be modified. It contains up to 64 characters, including digits, English letters, and special characters such as plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), hyphens (-), and underscores (_).
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Last name of the user, which contains up to 64 characters.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// First name of the user, which contains up to 64 characters.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user, which contains up to 256 characters.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory and contains up to 128 characters.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled (default), Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created, Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

type CreateUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User name, which must be unique within the space and cannot be modified. It contains up to 64 characters, including digits, English letters, and special characters such as plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), hyphens (-), and underscores (_).
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Last name of the user, which contains up to 64 characters.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// First name of the user, which contains up to 64 characters.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user, which contains up to 256 characters.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory and contains up to 128 characters.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled (default), Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created, Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

func (r *CreateUserRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateUserRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserName")
	delete(f, "FirstName")
	delete(f, "LastName")
	delete(f, "DisplayName")
	delete(f, "Description")
	delete(f, "Email")
	delete(f, "UserStatus")
	delete(f, "UserType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateUserRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateUserResponseParams struct {
	// User details.
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateUserResponse struct {
	*tchttp.BaseResponse
	Response *CreateUserResponseParams `json:"Response"`
}

func (r *CreateUserResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateUserResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// CAM user synchronization information.
	UserSyncProvisionings []*UserSyncProvisioning `json:"UserSyncProvisionings,omitnil,omitempty" name:"UserSyncProvisionings"`
}

type CreateUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// CAM user synchronization information.
	UserSyncProvisionings []*UserSyncProvisioning `json:"UserSyncProvisionings,omitnil,omitempty" name:"UserSyncProvisionings"`
}

func (r *CreateUserSyncProvisioningRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateUserSyncProvisioningRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserSyncProvisionings")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateUserSyncProvisioningRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateUserSyncProvisioningResponseParams struct {
	// Task details.
	Tasks []*UserProvisioningsTask `json:"Tasks,omitnil,omitempty" name:"Tasks"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *CreateUserSyncProvisioningResponseParams `json:"Response"`
}

func (r *CreateUserSyncProvisioningResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateUserSyncProvisioningResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

type DeleteGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

func (r *DeleteGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteGroupResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteGroupResponse struct {
	*tchttp.BaseResponse
	Response *DeleteGroupResponseParams `json:"Response"`
}

func (r *DeleteGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrgServiceAssignRequestParams struct {
	// Uin of the delegated admin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`
}

type DeleteOrgServiceAssignRequest struct {
	*tchttp.BaseRequest
	
	// Uin of the delegated admin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`
}

func (r *DeleteOrgServiceAssignRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrgServiceAssignRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "ServiceId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrgServiceAssignRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrgServiceAssignResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrgServiceAssignResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrgServiceAssignResponseParams `json:"Response"`
}

func (r *DeleteOrgServiceAssignResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrgServiceAssignResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationIdentityRequestParams struct {
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DeleteOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

func (r *DeleteOrganizationIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IdentityId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationIdentityResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationIdentityResponseParams `json:"Response"`
}

func (r *DeleteOrganizationIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMemberAuthIdentityRequestParams struct {
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DeleteOrganizationMemberAuthIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

func (r *DeleteOrganizationMemberAuthIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMemberAuthIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "IdentityId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationMemberAuthIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMemberAuthIdentityResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationMemberAuthIdentityResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMemberAuthIdentityResponseParams `json:"Response"`
}

func (r *DeleteOrganizationMemberAuthIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMemberAuthIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMembersPolicyRequestParams struct {
	// Access policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type DeleteOrganizationMembersPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Access policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

func (r *DeleteOrganizationMembersPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMembersPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PolicyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationMembersPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMembersPolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationMembersPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMembersPolicyResponseParams `json:"Response"`
}

func (r *DeleteOrganizationMembersPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMembersPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMembersRequestParams struct {
	// Uin list of the deleted members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type DeleteOrganizationMembersRequest struct {
	*tchttp.BaseRequest
	
	// Uin list of the deleted members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

func (r *DeleteOrganizationMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationMembersResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationMembersResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMembersResponseParams `json:"Response"`
}

func (r *DeleteOrganizationMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationNodesRequestParams struct {
	// Node ID list, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId []*int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

type DeleteOrganizationNodesRequest struct {
	*tchttp.BaseRequest
	
	// Node ID list, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId []*int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

func (r *DeleteOrganizationNodesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationNodesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "NodeId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationNodesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationNodesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationNodesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationNodesResponseParams `json:"Response"`
}

func (r *DeleteOrganizationNodesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationNodesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationRequestParams struct {

}

type DeleteOrganizationRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DeleteOrganizationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteOrganizationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteOrganizationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationResponseParams `json:"Response"`
}

func (r *DeleteOrganizationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteOrganizationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoleAssignmentRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Whether to remove the permission configuration deployment when removing the last authorization with a certain permission configuration from a target account in TCO. Valid values: DeprovisionForLastRoleAssignmentOnAccount: Remove the permission configuration deployment. None (default): Do not remove the permission configuration deployment.
	DeprovisionStrategy *string `json:"DeprovisionStrategy,omitnil,omitempty" name:"DeprovisionStrategy"`
}

type DeleteRoleAssignmentRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Whether to remove the permission configuration deployment when removing the last authorization with a certain permission configuration from a target account in TCO. Valid values: DeprovisionForLastRoleAssignmentOnAccount: Remove the permission configuration deployment. None (default): Do not remove the permission configuration deployment.
	DeprovisionStrategy *string `json:"DeprovisionStrategy,omitnil,omitempty" name:"DeprovisionStrategy"`
}

func (r *DeleteRoleAssignmentRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoleAssignmentRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "TargetType")
	delete(f, "TargetUin")
	delete(f, "PrincipalType")
	delete(f, "PrincipalId")
	delete(f, "DeprovisionStrategy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRoleAssignmentRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoleAssignmentResponseParams struct {
	// Task details.
	Task *TaskInfo `json:"Task,omitnil,omitempty" name:"Task"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRoleAssignmentResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRoleAssignmentResponseParams `json:"Response"`
}

func (r *DeleteRoleAssignmentResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoleAssignmentResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type DeleteRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

func (r *DeleteRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoleConfigurationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRoleConfigurationResponseParams `json:"Response"`
}

func (r *DeleteRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSCIMCredentialRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

type DeleteSCIMCredentialRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

func (r *DeleteSCIMCredentialRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSCIMCredentialRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "CredentialId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSCIMCredentialRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSCIMCredentialResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteSCIMCredentialResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSCIMCredentialResponseParams `json:"Response"`
}

func (r *DeleteSCIMCredentialResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSCIMCredentialResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Member list.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

type DeleteShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Member list.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

func (r *DeleteShareUnitMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Members")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteShareUnitMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitMembersResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitMembersResponseParams `json:"Response"`
}

func (r *DeleteShareUnitMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type DeleteShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

func (r *DeleteShareUnitRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteShareUnitRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ShareResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

type DeleteShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ShareResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

func (r *DeleteShareUnitResourcesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitResourcesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Type")
	delete(f, "Resources")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteShareUnitResourcesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitResourcesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitResourcesResponseParams `json:"Response"`
}

func (r *DeleteShareUnitResourcesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitResourcesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteShareUnitResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitResponseParams `json:"Response"`
}

func (r *DeleteShareUnitResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteShareUnitResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type DeleteUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

func (r *DeleteUserRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteUserRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteUserRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteUserResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteUserResponse struct {
	*tchttp.BaseResponse
	Response *DeleteUserResponseParams `json:"Response"`
}

func (r *DeleteUserResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteUserResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

type DeleteUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

func (r *DeleteUserSyncProvisioningRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteUserSyncProvisioningRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserProvisioningId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteUserSyncProvisioningRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteUserSyncProvisioningResponseParams struct {
	// Task details.
	Tasks *UserProvisioningsTask `json:"Tasks,omitnil,omitempty" name:"Tasks"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *DeleteUserSyncProvisioningResponseParams `json:"Response"`
}

func (r *DeleteUserSyncProvisioningResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteUserSyncProvisioningResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIdentityCenterRequestParams struct {

}

type DescribeIdentityCenterRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeIdentityCenterRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIdentityCenterRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeIdentityCenterRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIdentityCenterResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`

	// Service activation status. Disabled: not activated; Enabled: activated.
	ServiceStatus *string `json:"ServiceStatus,omitnil,omitempty" name:"ServiceStatus"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	ScimSyncStatus *string `json:"ScimSyncStatus,omitnil,omitempty" name:"ScimSyncStatus"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update date
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeIdentityCenterResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIdentityCenterResponseParams `json:"Response"`
}

func (r *DescribeIdentityCenterResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIdentityCenterResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberAuthAccountsRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type DescribeOrganizationMemberAuthAccountsRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

func (r *DescribeOrganizationMemberAuthAccountsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberAuthAccountsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "MemberUin")
	delete(f, "PolicyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationMemberAuthAccountsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberAuthAccountsResponseParams struct {
	// List
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgMemberAuthAccount `json:"Items,omitnil,omitempty" name:"Items"`

	// Total number
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationMemberAuthAccountsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberAuthAccountsResponseParams `json:"Response"`
}

func (r *DescribeOrganizationMemberAuthAccountsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberAuthAccountsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberAuthIdentitiesRequestParams struct {
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Uin of the organization member. At least one of the input parameters MemberUin and IdentityId must be entered.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID. At least one of the input parameters MemberUin and IdentityId must be provided. It can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DescribeOrganizationMemberAuthIdentitiesRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Uin of the organization member. At least one of the input parameters MemberUin and IdentityId must be entered.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID. At least one of the input parameters MemberUin and IdentityId must be provided. It can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

func (r *DescribeOrganizationMemberAuthIdentitiesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberAuthIdentitiesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "MemberUin")
	delete(f, "IdentityId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationMemberAuthIdentitiesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberAuthIdentitiesResponseParams struct {
	// List of authorizable identities
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgMemberAuthIdentity `json:"Items,omitnil,omitempty" name:"Items"`

	// Total number.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationMemberAuthIdentitiesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberAuthIdentitiesResponseParams `json:"Response"`
}

func (r *DescribeOrganizationMemberAuthIdentitiesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberAuthIdentitiesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberEmailBindRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type DescribeOrganizationMemberEmailBindRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

func (r *DescribeOrganizationMemberEmailBindRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberEmailBindRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationMemberEmailBindRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberEmailBindResponseParams struct {
	// Bound ID.
	BindId *uint64 `json:"BindId,omitnil,omitempty" name:"BindId"`

	// Application time.
	ApplyTime *string `json:"ApplyTime,omitnil,omitempty" name:"ApplyTime"`

	// Email address.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// Verification mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`

	// Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
	BindStatus *string `json:"BindStatus,omitnil,omitempty" name:"BindStatus"`

	// Binding time.
	BindTime *string `json:"BindTime,omitnil,omitempty" name:"BindTime"`

	// Failure description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
	PhoneBind *uint64 `json:"PhoneBind,omitnil,omitempty" name:"PhoneBind"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationMemberEmailBindResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberEmailBindResponseParams `json:"Response"`
}

func (r *DescribeOrganizationMemberEmailBindResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberEmailBindResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberPoliciesRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Search keyword, which can be the policy name or description.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeOrganizationMemberPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Search keyword, which can be the policy name or description.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

func (r *DescribeOrganizationMemberPoliciesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberPoliciesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "MemberUin")
	delete(f, "SearchKey")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationMemberPoliciesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMemberPoliciesResponseParams struct {
	// List.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgMemberPolicy `json:"Items,omitnil,omitempty" name:"Items"`

	// Total number.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationMemberPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberPoliciesResponseParams `json:"Response"`
}

func (r *DescribeOrganizationMemberPoliciesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMemberPoliciesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMembersRequestParams struct {
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Search by member name or ID.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Entity name.
	AuthName *string `json:"AuthName,omitnil,omitempty" name:"AuthName"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Member tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type DescribeOrganizationMembersRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Search by member name or ID.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Entity name.
	AuthName *string `json:"AuthName,omitnil,omitempty" name:"AuthName"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Member tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *DescribeOrganizationMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Lang")
	delete(f, "SearchKey")
	delete(f, "AuthName")
	delete(f, "Product")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationMembersResponseParams struct {
	// Member list.
	Items []*OrgMember `json:"Items,omitnil,omitempty" name:"Items"`

	// Total number.
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationMembersResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMembersResponseParams `json:"Response"`
}

func (r *DescribeOrganizationMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationNodesRequestParams struct {
	// Maximum number of returned results. Maximum value: `50`.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Department tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type DescribeOrganizationNodesRequest struct {
	*tchttp.BaseRequest
	
	// Maximum number of returned results. Maximum value: `50`.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Department tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *DescribeOrganizationNodesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationNodesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationNodesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationNodesResponseParams struct {
	// Total number.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List details.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgNode `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationNodesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationNodesResponseParams `json:"Response"`
}

func (r *DescribeOrganizationNodesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationNodesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationRequestParams struct {
	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

type DescribeOrganizationRequest struct {
	*tchttp.BaseRequest
	
	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

func (r *DescribeOrganizationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Lang")
	delete(f, "Product")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOrganizationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOrganizationResponseParams struct {
	// Organization ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgId *int64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`

	// Creator UIN.
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostUin *int64 `json:"HostUin,omitnil,omitempty" name:"HostUin"`

	// Creator name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NickName *string `json:"NickName,omitnil,omitempty" name:"NickName"`

	// Organization type.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgType *int64 `json:"OrgType,omitnil,omitempty" name:"OrgType"`

	// Whether the member is the organization admin. Valid values: `true` (yes); `false` (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsManager *bool `json:"IsManager,omitnil,omitempty" name:"IsManager"`

	// Policy type. Valid values: `Financial` (finance management).
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPolicyType *string `json:"OrgPolicyType,omitnil,omitempty" name:"OrgPolicyType"`

	// Policy name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPolicyName *string `json:"OrgPolicyName,omitnil,omitempty" name:"OrgPolicyName"`

	// List of member financial permissions.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPermission []*OrgPermission `json:"OrgPermission,omitnil,omitempty" name:"OrgPermission"`

	// Organization root node ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RootNodeId *int64 `json:"RootNodeId,omitnil,omitempty" name:"RootNodeId"`

	// Organization creation time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Member joining time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`

	// Whether the member is allowed to leave. Valid values: `Allow`, `Denied`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Payer name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PayName *string `json:"PayName,omitnil,omitempty" name:"PayName"`

	// Whether the member is the trusted service admin. Valid values: `true` (yes); `false` (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAssignManager *bool `json:"IsAssignManager,omitnil,omitempty" name:"IsAssignManager"`

	// Whether the member is the verified entity admin. Valid values: `true` (yes); `false` (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAuthManager *bool `json:"IsAuthManager,omitnil,omitempty" name:"IsAuthManager"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationResponseParams `json:"Response"`
}

func (r *DescribeOrganizationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOrganizationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareAreasRequestParams struct {
	// Valid values: en (Tencent Cloud International); zh (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`
}

type DescribeShareAreasRequest struct {
	*tchttp.BaseRequest
	
	// Valid values: en (Tencent Cloud International); zh (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`
}

func (r *DescribeShareAreasRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareAreasRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Lang")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeShareAreasRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareAreasResponseParams struct {
	// Details.
	Items []*ShareArea `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeShareAreasResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareAreasResponseParams `json:"Response"`
}

func (r *DescribeShareAreasResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareAreasResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Member UIN search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Member UIN search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

func (r *DescribeShareUnitMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SearchKey")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeShareUnitMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitMembersResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit member list.
	Items []*ShareUnitMember `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitMembersResponseParams `json:"Response"`
}

func (r *DescribeShareUnitMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Product resource ID search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Product resource ID search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeShareUnitResourcesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitResourcesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Area")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SearchKey")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeShareUnitResourcesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitResourcesResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit resource list.
	Items []*ShareUnitResource `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitResourcesResponseParams `json:"Response"`
}

func (r *DescribeShareUnitResourcesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitResourcesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitsRequestParams struct {
	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. UnitId and Name search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeShareUnitsRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. UnitId and Name search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

func (r *DescribeShareUnitsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Area")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SearchKey")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeShareUnitsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShareUnitsResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit list.
	Items []*ManagerShareUnit `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeShareUnitsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitsResponseParams `json:"Response"`
}

func (r *DescribeShareUnitsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShareUnitsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DismantleRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

type DismantleRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

func (r *DismantleRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DismantleRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "TargetType")
	delete(f, "TargetUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DismantleRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DismantleRoleConfigurationResponseParams struct {
	// Task details.
	Task *RoleProvisioningsTask `json:"Task,omitnil,omitempty" name:"Task"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DismantleRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *DismantleRoleConfigurationResponseParams `json:"Response"`
}

func (r *DismantleRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DismantleRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *GetExternalSAMLIdentityProviderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetExternalSAMLIdentityProviderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetExternalSAMLIdentityProviderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetExternalSAMLIdentityProviderResponseParams struct {
	// SAML identity provider configuration information.
	SAMLIdentityProviderConfiguration *SAMLIdentityProviderConfiguration `json:"SAMLIdentityProviderConfiguration,omitnil,omitempty" name:"SAMLIdentityProviderConfiguration"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *GetExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

func (r *GetExternalSAMLIdentityProviderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetExternalSAMLIdentityProviderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

type GetGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

func (r *GetGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetGroupResponse struct {
	*tchttp.BaseResponse
	Response *GetGroupResponseParams `json:"Response"`
}

func (r *GetGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetProvisioningTaskStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type GetProvisioningTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *GetProvisioningTaskStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetProvisioningTaskStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetProvisioningTaskStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetProvisioningTaskStatusResponseParams struct {
	// Task status information.
	TaskStatus *TaskStatus `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetProvisioningTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetProvisioningTaskStatusResponseParams `json:"Response"`
}

func (r *GetProvisioningTaskStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetProvisioningTaskStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type GetRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

func (r *GetRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetRoleConfigurationResponseParams struct {
	// Permission configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *GetRoleConfigurationResponseParams `json:"Response"`
}

func (r *GetRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetSCIMSynchronizationStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetSCIMSynchronizationStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *GetSCIMSynchronizationStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetSCIMSynchronizationStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetSCIMSynchronizationStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetSCIMSynchronizationStatusResponseParams struct {
	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetSCIMSynchronizationStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetSCIMSynchronizationStatusResponseParams `json:"Response"`
}

func (r *GetSCIMSynchronizationStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetSCIMSynchronizationStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetTaskStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type GetTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *GetTaskStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetTaskStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetTaskStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetTaskStatusResponseParams struct {
	// Task status information.
	TaskStatus *TaskStatus `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetTaskStatusResponseParams `json:"Response"`
}

func (r *GetTaskStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetTaskStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetUserRequestParams struct {
	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetUserRequest struct {
	*tchttp.BaseRequest
	
	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *GetUserRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetUserRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UserId")
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetUserRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetUserResponseParams struct {
	// User information.
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetUserResponse struct {
	*tchttp.BaseResponse
	Response *GetUserResponseParams `json:"Response"`
}

func (r *GetUserResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetUserResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// ID of the CAM user synchronization.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

type GetUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// ID of the CAM user synchronization.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

func (r *GetUserSyncProvisioningRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetUserSyncProvisioningRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserProvisioningId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetUserSyncProvisioningRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetUserSyncProvisioningResponseParams struct {
	// CAM user synchronization information.
	UserProvisioning *UserProvisioning `json:"UserProvisioning,omitnil,omitempty" name:"UserProvisioning"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *GetUserSyncProvisioningResponseParams `json:"Response"`
}

func (r *GetUserSyncProvisioningResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetUserSyncProvisioningResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetZoneSAMLServiceProviderInfoRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetZoneSAMLServiceProviderInfoRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *GetZoneSAMLServiceProviderInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetZoneSAMLServiceProviderInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetZoneSAMLServiceProviderInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetZoneSAMLServiceProviderInfoResponseParams struct {
	// SAML service provider configuration information.
	SAMLServiceProvider *SAMLServiceProvider `json:"SAMLServiceProvider,omitnil,omitempty" name:"SAMLServiceProvider"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetZoneSAMLServiceProviderInfoResponse struct {
	*tchttp.BaseResponse
	Response *GetZoneSAMLServiceProviderInfoResponseParams `json:"Response"`
}

func (r *GetZoneSAMLServiceProviderInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetZoneSAMLServiceProviderInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetZoneStatisticsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetZoneStatisticsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *GetZoneStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetZoneStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetZoneStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetZoneStatisticsResponseParams struct {
	// Space statistics.
	ZoneStatistics *ZoneStatistics `json:"ZoneStatistics,omitnil,omitempty" name:"ZoneStatistics"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetZoneStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *GetZoneStatisticsResponseParams `json:"Response"`
}

func (r *GetZoneStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetZoneStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type GroupInfo struct {
	// User group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Creation time of the user group.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Modification time of the user group.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// Number of group members.
	MemberCount *int64 `json:"MemberCount,omitnil,omitempty" name:"MemberCount"`

	// If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false.
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`
}

type GroupMembers struct {
	// Queried username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Display name of the user.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Time when the user joins the user group.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`
}

type IdentityPolicy struct {
	// CAM preset policy ID, which is valid and required when PolicyType is a preset policy.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// CAM preset policy name, which is valid and required when PolicyType is a preset policy.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Policy type. Valid values: 1 (custom policy), 2 (preset policy). The default is 2.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyType *uint64 `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Custom policy content, which follows the CAM policy syntax. It is valid and required when PolicyType is a custom policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyDocument *string `json:"PolicyDocument,omitnil,omitempty" name:"PolicyDocument"`
}

// Predefined struct for user
type InviteOrganizationMemberRequestParams struct {
	// UIN of an invited account.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1 and 2 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Name of a mutual trust real-name entity.
	RelationAuthName *string `json:"RelationAuthName,omitnil,omitempty" name:"RelationAuthName"`

	// List of proof files of a mutual trust entity.
	AuthFile []*AuthRelationFile `json:"AuthFile,omitnil,omitempty" name:"AuthFile"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type InviteOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// UIN of an invited account.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1 and 2 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Name of a mutual trust real-name entity.
	RelationAuthName *string `json:"RelationAuthName,omitnil,omitempty" name:"RelationAuthName"`

	// List of proof files of a mutual trust entity.
	AuthFile []*AuthRelationFile `json:"AuthFile,omitnil,omitempty" name:"AuthFile"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *InviteOrganizationMemberRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InviteOrganizationMemberRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "Name")
	delete(f, "PolicyType")
	delete(f, "PermissionIds")
	delete(f, "NodeId")
	delete(f, "Remark")
	delete(f, "IsAllowQuit")
	delete(f, "PayUin")
	delete(f, "RelationAuthName")
	delete(f, "AuthFile")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InviteOrganizationMemberRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type InviteOrganizationMemberResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type InviteOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *InviteOrganizationMemberResponseParams `json:"Response"`
}

func (r *InviteOrganizationMemberResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InviteOrganizationMemberResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type JoinedGroups struct {
	// User group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User group type. Valid values:
	// 
	// Manual: manually created.
	// Synchronized: externally synchronized.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Time of joining the user group.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`
}

// Predefined struct for user
type ListExternalSAMLIdPCertificatesRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type ListExternalSAMLIdPCertificatesRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

func (r *ListExternalSAMLIdPCertificatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListExternalSAMLIdPCertificatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListExternalSAMLIdPCertificatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListExternalSAMLIdPCertificatesResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// SAML signing certificate list.
	SAMLIdPCertificates []*SAMLIdPCertificate `json:"SAMLIdPCertificates,omitnil,omitempty" name:"SAMLIdPCertificates"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListExternalSAMLIdPCertificatesResponse struct {
	*tchttp.BaseResponse
	Response *ListExternalSAMLIdPCertificatesResponseParams `json:"Response"`
}

func (r *ListExternalSAMLIdPCertificatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListExternalSAMLIdPCertificatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListGroupMembersRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Type of the user. Manual: manually created; Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

type ListGroupMembersRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Type of the user. Manual: manually created; Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

func (r *ListGroupMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListGroupMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	delete(f, "UserType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListGroupMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListGroupMembersResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// The user list of a user group.
	GroupMembers []*GroupMembers `json:"GroupMembers,omitnil,omitempty" name:"GroupMembers"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListGroupMembersResponse struct {
	*tchttp.BaseResponse
	Response *ListGroupMembersResponseParams `json:"Response"`
}

func (r *ListGroupMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListGroupMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListGroupsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Filtered user. IsSelected=1 will be returned for the user group associated with this user.
	FilterUsers []*string `json:"FilterUsers,omitnil,omitempty" name:"FilterUsers"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ListGroupsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Filtered user. IsSelected=1 will be returned for the user group associated with this user.
	FilterUsers []*string `json:"FilterUsers,omitnil,omitempty" name:"FilterUsers"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *ListGroupsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListGroupsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	delete(f, "Filter")
	delete(f, "GroupType")
	delete(f, "FilterUsers")
	delete(f, "SortField")
	delete(f, "SortType")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListGroupsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListGroupsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// User group list.
	Groups []*GroupInfo `json:"Groups,omitnil,omitempty" name:"Groups"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListGroupsResponse struct {
	*tchttp.BaseResponse
	Response *ListGroupsResponseParams `json:"Response"`
}

func (r *ListGroupsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListGroupsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListJoinedGroupsForUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`
}

type ListJoinedGroupsForUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`
}

func (r *ListJoinedGroupsForUserRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListJoinedGroupsForUserRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListJoinedGroupsForUserRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListJoinedGroupsForUserResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// List of user groups joined by the user.
	JoinedGroups []*JoinedGroups `json:"JoinedGroups,omitnil,omitempty" name:"JoinedGroups"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListJoinedGroupsForUserResponse struct {
	*tchttp.BaseResponse
	Response *ListJoinedGroupsForUserResponseParams `json:"Response"`
}

func (r *ListJoinedGroupsForUserResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListJoinedGroupsForUserResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrgServiceAssignMemberRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`
}

type ListOrgServiceAssignMemberRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Organization service ID, which can be obtained through [ListOrganizationService](https://intl.cloud.tencent.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`
}

func (r *ListOrgServiceAssignMemberRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrgServiceAssignMemberRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "ServiceId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListOrgServiceAssignMemberRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrgServiceAssignMemberResponseParams struct {
	// Total quantity.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List of the delegated admins.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrganizationServiceAssignMember `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListOrgServiceAssignMemberResponse struct {
	*tchttp.BaseResponse
	Response *ListOrgServiceAssignMemberResponseParams `json:"Response"`
}

func (r *ListOrgServiceAssignMemberResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrgServiceAssignMemberResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrganizationIdentityRequestParams struct {
	// Offset.  It must be an integer multiple of the value of `Limit`.  Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The limit for the number of query results.  Value range:  1-50.  Default value:  `10`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Identity ID, which can be searched by identity ID.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity type.  Valid values: `1` (Preset), `2` (Custom).
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`
}

type ListOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Offset.  It must be an integer multiple of the value of `Limit`.  Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The limit for the number of query results.  Value range:  1-50.  Default value:  `10`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Identity ID, which can be searched by identity ID.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity type.  Valid values: `1` (Preset), `2` (Custom).
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`
}

func (r *ListOrganizationIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrganizationIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SearchKey")
	delete(f, "IdentityId")
	delete(f, "IdentityType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListOrganizationIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrganizationIdentityResponseParams struct {
	// Total number.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Item details.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgIdentity `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *ListOrganizationIdentityResponseParams `json:"Response"`
}

func (r *ListOrganizationIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrganizationIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrganizationServiceRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Keyword for search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type ListOrganizationServiceRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Keyword for search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

func (r *ListOrganizationServiceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrganizationServiceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SearchKey")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListOrganizationServiceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListOrganizationServiceResponseParams struct {
	// Total quantity.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Organization service list.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrganizationServiceAssign `json:"Items,omitnil,omitempty" name:"Items"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListOrganizationServiceResponse struct {
	*tchttp.BaseResponse
	Response *ListOrganizationServiceResponseParams `json:"Response"`
}

func (r *ListOrganizationServiceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListOrganizationServiceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListPermissionPoliciesInRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Search by policy name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListPermissionPoliciesInRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Search by policy name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

func (r *ListPermissionPoliciesInRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListPermissionPoliciesInRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "RolePolicyType")
	delete(f, "Filter")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListPermissionPoliciesInRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListPermissionPoliciesInRoleConfigurationResponseParams struct {
	// Total number of permission policies.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Permission policy list.
	RolePolicies []*RolePolicie `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListPermissionPoliciesInRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *ListPermissionPoliciesInRoleConfigurationResponseParams `json:"Response"`
}

func (r *ListPermissionPoliciesInRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListPermissionPoliciesInRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleAssignmentsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Query condition, which currently only supports search by permission configuration name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListRoleAssignmentsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Query condition, which currently only supports search by permission configuration name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

func (r *ListRoleAssignmentsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleAssignmentsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "MaxResults")
	delete(f, "NextToken")
	delete(f, "TargetType")
	delete(f, "TargetUin")
	delete(f, "PrincipalType")
	delete(f, "PrincipalId")
	delete(f, "Filter")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListRoleAssignmentsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleAssignmentsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Authorization list of the target account of the Tencent Cloud Organization.
	RoleAssignments []*RoleAssignments `json:"RoleAssignments,omitnil,omitempty" name:"RoleAssignments"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListRoleAssignmentsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleAssignmentsResponseParams `json:"Response"`
}

func (r *ListRoleAssignmentsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleAssignmentsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleConfigurationProvisioningsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Search by configuration name is supported.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListRoleConfigurationProvisioningsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Search by configuration name is supported.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

func (r *ListRoleConfigurationProvisioningsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleConfigurationProvisioningsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "MaxResults")
	delete(f, "NextToken")
	delete(f, "TargetType")
	delete(f, "TargetUin")
	delete(f, "DeploymentStatus")
	delete(f, "Filter")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListRoleConfigurationProvisioningsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleConfigurationProvisioningsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Department member account list.
	RoleConfigurationProvisionings []*RoleConfigurationProvisionings `json:"RoleConfigurationProvisionings,omitnil,omitempty" name:"RoleConfigurationProvisionings"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListRoleConfigurationProvisioningsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleConfigurationProvisioningsResponseParams `json:"Response"`
}

func (r *ListRoleConfigurationProvisioningsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleConfigurationProvisioningsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleConfigurationsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false.
	FilterTargets []*int64 `json:"FilterTargets,omitnil,omitempty" name:"FilterTargets"`

	// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`
}

type ListRoleConfigurationsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false.
	FilterTargets []*int64 `json:"FilterTargets,omitnil,omitempty" name:"FilterTargets"`

	// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`
}

func (r *ListRoleConfigurationsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleConfigurationsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	delete(f, "Filter")
	delete(f, "FilterTargets")
	delete(f, "PrincipalId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListRoleConfigurationsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListRoleConfigurationsResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Permission configuration list.
	RoleConfigurations []*RoleConfiguration `json:"RoleConfigurations,omitnil,omitempty" name:"RoleConfigurations"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListRoleConfigurationsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleConfigurationsResponseParams `json:"Response"`
}

func (r *ListRoleConfigurationsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListRoleConfigurationsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListSCIMCredentialsRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

type ListSCIMCredentialsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

func (r *ListSCIMCredentialsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListSCIMCredentialsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "CredentialId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListSCIMCredentialsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListSCIMCredentialsResponseParams struct {
	// Number of SCIM keys.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// SCIM key information.
	SCIMCredentials []*SCIMCredential `json:"SCIMCredentials,omitnil,omitempty" name:"SCIMCredentials"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListSCIMCredentialsResponse struct {
	*tchttp.BaseResponse
	Response *ListSCIMCredentialsResponseParams `json:"Response"`
}

func (r *ListSCIMCredentialsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListSCIMCredentialsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListTasksRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task type.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`
}

type ListTasksRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task type.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`
}

func (r *ListTasksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListTasksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "PrincipalId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	delete(f, "PrincipalType")
	delete(f, "TargetUin")
	delete(f, "TargetType")
	delete(f, "RoleConfigurationId")
	delete(f, "Status")
	delete(f, "TaskType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListTasksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListTasksResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Task details.
	Tasks []*TaskInfo `json:"Tasks,omitnil,omitempty" name:"Tasks"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListTasksResponse struct {
	*tchttp.BaseResponse
	Response *ListTasksResponseParams `json:"Response"`
}

func (r *ListTasksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListTasksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListUserSyncProvisioningsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Detection condition.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListUserSyncProvisioningsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Detection condition.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

func (r *ListUserSyncProvisioningsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListUserSyncProvisioningsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "PrincipalId")
	delete(f, "NextToken")
	delete(f, "MaxResults")
	delete(f, "PrincipalType")
	delete(f, "TargetUin")
	delete(f, "TargetType")
	delete(f, "Filter")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListUserSyncProvisioningsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListUserSyncProvisioningsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// User list of the CAM synchronization.
	UserProvisionings []*UserProvisioning `json:"UserProvisionings,omitnil,omitempty" name:"UserProvisionings"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListUserSyncProvisioningsResponse struct {
	*tchttp.BaseResponse
	Response *ListUserSyncProvisioningsResponseParams `json:"Response"`
}

func (r *ListUserSyncProvisioningsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListUserSyncProvisioningsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListUsersRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Filter criterion, which currently only supports username, email address, userId, and description.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group.
	FilterGroups []*string `json:"FilterGroups,omitnil,omitempty" name:"FilterGroups"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ListUsersRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Filter criterion, which currently only supports username, email address, userId, and description.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group.
	FilterGroups []*string `json:"FilterGroups,omitnil,omitempty" name:"FilterGroups"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *ListUsersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListUsersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserStatus")
	delete(f, "UserType")
	delete(f, "Filter")
	delete(f, "MaxResults")
	delete(f, "NextToken")
	delete(f, "FilterGroups")
	delete(f, "SortField")
	delete(f, "SortType")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListUsersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListUsersResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// User list.
	Users []*UserInfo `json:"Users,omitnil,omitempty" name:"Users"`

	// Token for querying the next page of returned results. This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListUsersResponse struct {
	*tchttp.BaseResponse
	Response *ListUsersResponseParams `json:"Response"`
}

func (r *ListUsersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListUsersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ManagerShareUnit struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit administrator UIN.
	Uin *int64 `json:"Uin,omitnil,omitempty" name:"Uin"`

	// Shared unit administrator OwnerUin.
	OwnerUin *int64 `json:"OwnerUin,omitnil,omitempty" name:"OwnerUin"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Description.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Creation time.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// The number of resources in a shared unit.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ShareResourceNum *int64 `json:"ShareResourceNum,omitnil,omitempty" name:"ShareResourceNum"`

	// The number of members in a shared unit.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ShareMemberNum *int64 `json:"ShareMemberNum,omitnil,omitempty" name:"ShareMemberNum"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

type MemberIdentity struct {
	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`
}

type MemberMainInfo struct {
	// Member UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name j.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`
}

// Predefined struct for user
type MoveOrganizationNodeMembersRequestParams struct {
	// Organization node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Uin list of the members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type MoveOrganizationNodeMembersRequest struct {
	*tchttp.BaseRequest
	
	// Organization node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Uin list of the members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

func (r *MoveOrganizationNodeMembersRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *MoveOrganizationNodeMembersRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "NodeId")
	delete(f, "MemberUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "MoveOrganizationNodeMembersRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type MoveOrganizationNodeMembersResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type MoveOrganizationNodeMembersResponse struct {
	*tchttp.BaseResponse
	Response *MoveOrganizationNodeMembersResponseParams `json:"Response"`
}

func (r *MoveOrganizationNodeMembersResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *MoveOrganizationNodeMembersResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type NodeMainInfo struct {
	// Department ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Department name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`
}

// Predefined struct for user
type OpenIdentityCenterRequestParams struct {
	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}

type OpenIdentityCenterRequest struct {
	*tchttp.BaseRequest
	
	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}

func (r *OpenIdentityCenterRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *OpenIdentityCenterRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenIdentityCenterRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type OpenIdentityCenterResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type OpenIdentityCenterResponse struct {
	*tchttp.BaseResponse
	Response *OpenIdentityCenterResponseParams `json:"Response"`
}

func (r *OpenIdentityCenterResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *OpenIdentityCenterResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type OrgIdentity struct {
	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

	// Description.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Identity policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

	// Identity type. Valid values: `1` (preset); `2` (custom).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`

	// Update time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type OrgMember struct {
	// Member UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Member type. Valid values: `Invite` (invited); `Create` (created).
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberType *string `json:"MemberType,omitnil,omitempty" name:"MemberType"`

	// Relationship policy type
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPolicyType *string `json:"OrgPolicyType,omitnil,omitempty" name:"OrgPolicyType"`

	// Relationship policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPolicyName *string `json:"OrgPolicyName,omitnil,omitempty" name:"OrgPolicyName"`

	// Relationship policy permission
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgPermission []*OrgPermission `json:"OrgPermission,omitnil,omitempty" name:"OrgPermission"`

	// Node ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Node name
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether the member is allowed to leave. Valid values: `Allow`, `Denied`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Payer name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PayName *string `json:"PayName,omitnil,omitempty" name:"PayName"`

	// Management identity
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgIdentity []*MemberIdentity `json:"OrgIdentity,omitnil,omitempty" name:"OrgIdentity"`

	// Security information binding status. Valid values: `Unbound`, `Valid`, `Success`, `Failed`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	BindStatus *string `json:"BindStatus,omitnil,omitempty" name:"BindStatus"`

	// Member permission status. Valid values: `Confirmed`, `UnConfirmed`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PermissionStatus *string `json:"PermissionStatus,omitnil,omitempty" name:"PermissionStatus"`

	// Member tag list.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type OrgMemberAuthAccount struct {
	// Organization sub-account UIN.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`

	// Policy ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity role name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Identity role alias.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

	// Creation time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Sub-account name
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgSubAccountName *string `json:"OrgSubAccountName,omitnil,omitempty" name:"OrgSubAccountName"`
}

type OrgMemberAuthIdentity struct {
	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Role name of an identity
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Role alias of an identity
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

	// Identity description.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Time of initial configuration success.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Time of last configuration success.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Identity type. Valid values: 1 (preset identity), 2 (custom identity).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`

	// Configuration status. Valid values: 1 (configuration completed), 2 (reconfiguration required).
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Member Uin.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`
}

type OrgMemberPolicy struct {
	// Policy ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Identity ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity role name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Identity role alias.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

	// Description.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Creation time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type OrgNode struct {
	// Organization node ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Parent node ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ParentNodeId *int64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

	// Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Member tag list.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type OrgPermission struct {
	// Permission ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Permission name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type OrganizationServiceAssign struct {
	// Organization service ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Organization service product name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProductName *string `json:"ProductName,omitnil,omitempty" name:"ProductName"`

	// Whether to support delegation. Valid values: 1 (yes), 2 (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAssign *uint64 `json:"IsAssign,omitnil,omitempty" name:"IsAssign"`

	// Organization service description.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Number of the current delegated admins.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberNum *string `json:"MemberNum,omitnil,omitempty" name:"MemberNum"`

	// Help documentation.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Document *string `json:"Document,omitnil,omitempty" name:"Document"`

	// Console path of the organization service product.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ConsoleUrl *string `json:"ConsoleUrl,omitnil,omitempty" name:"ConsoleUrl"`

	// Whether to access the usage status. Valid values: 1 (yes), 
	//  2 (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsUsageStatus *uint64 `json:"IsUsageStatus,omitnil,omitempty" name:"IsUsageStatus"`

	// Limit for the number of delegated admins.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CanAssignCount *uint64 `json:"CanAssignCount,omitnil,omitempty" name:"CanAssignCount"`

	// Organization service product identifier.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Whether to support organization service authorization. Valid values: 1 (yes), 2 (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServiceGrant *uint64 `json:"ServiceGrant,omitnil,omitempty" name:"ServiceGrant"`

	// Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. 
	// Note: This field may return null, indicating that no valid values can be obtained.
	GrantStatus *string `json:"GrantStatus,omitnil,omitempty" name:"GrantStatus"`

	// Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsSetManagementScope *uint64 `json:"IsSetManagementScope,omitnil,omitempty" name:"IsSetManagementScope"`
}

type OrganizationServiceAssignMember struct {
	// Organization service ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Organization service product name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProductName *string `json:"ProductName,omitnil,omitempty" name:"ProductName"`

	// Uin of the delegated admin.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Name of the delegated admin.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`

	// Activation status. Valid values: 0 (the service has no activation status), 1 (activated), 2 (not activated).
	// Note: This field may return null, indicating that no valid values can be obtained.
	UsageStatus *uint64 `json:"UsageStatus,omitnil,omitempty" name:"UsageStatus"`

	// Delegation time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// Uin list of managed members. This parameter is valid when ManagementScope is 2.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ManagementScopeMembers []*MemberMainInfo `json:"ManagementScopeMembers,omitnil,omitempty" name:"ManagementScopeMembers"`

	// ID list of the managed departments. This parameter is valid when ManagementScope is 2.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ManagementScopeNodes []*NodeMainInfo `json:"ManagementScopeNodes,omitnil,omitempty" name:"ManagementScopeNodes"`
}

type PolicyDetail struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`
}

type ProductResource struct {
	// Product resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`

	// The last section of the six-segment resource description.
	//
	// Deprecated: ResourceGrantLast is deprecated.
	ResourceGrantLast *string `json:"ResourceGrantLast,omitnil,omitempty" name:"ResourceGrantLast"`
}

// Predefined struct for user
type ProvisionRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

type ProvisionRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

func (r *ProvisionRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProvisionRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "TargetType")
	delete(f, "TargetUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProvisionRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProvisionRoleConfigurationResponseParams struct {
	// Task details.
	Task *RoleProvisioningsTask `json:"Task,omitnil,omitempty" name:"Task"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProvisionRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *ProvisionRoleConfigurationResponseParams `json:"Response"`
}

func (r *ProvisionRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProvisionRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type QuitOrganizationRequestParams struct {
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`
}

type QuitOrganizationRequest struct {
	*tchttp.BaseRequest
	
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`
}

func (r *QuitOrganizationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *QuitOrganizationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "OrgId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "QuitOrganizationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type QuitOrganizationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type QuitOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *QuitOrganizationResponseParams `json:"Response"`
}

func (r *QuitOrganizationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *QuitOrganizationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RejectJoinShareUnitInvitationRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type RejectJoinShareUnitInvitationRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

func (r *RejectJoinShareUnitInvitationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RejectJoinShareUnitInvitationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RejectJoinShareUnitInvitationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RejectJoinShareUnitInvitationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RejectJoinShareUnitInvitationResponse struct {
	*tchttp.BaseResponse
	Response *RejectJoinShareUnitInvitationResponseParams `json:"Response"`
}

func (r *RejectJoinShareUnitInvitationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RejectJoinShareUnitInvitationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveExternalSAMLIdPCertificateRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`
}

type RemoveExternalSAMLIdPCertificateRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`
}

func (r *RemoveExternalSAMLIdPCertificateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveExternalSAMLIdPCertificateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "CertificateId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveExternalSAMLIdPCertificateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveExternalSAMLIdPCertificateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemoveExternalSAMLIdPCertificateResponse struct {
	*tchttp.BaseResponse
	Response *RemoveExternalSAMLIdPCertificateResponseParams `json:"Response"`
}

func (r *RemoveExternalSAMLIdPCertificateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveExternalSAMLIdPCertificateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemovePermissionPolicyFromRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, which contains up to 32 characters.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Policy ID.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`
}

type RemovePermissionPolicyFromRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, which contains up to 32 characters.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Policy ID.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`
}

func (r *RemovePermissionPolicyFromRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemovePermissionPolicyFromRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "RolePolicyType")
	delete(f, "RolePolicyName")
	delete(f, "RolePolicyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemovePermissionPolicyFromRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemovePermissionPolicyFromRoleConfigurationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemovePermissionPolicyFromRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *RemovePermissionPolicyFromRoleConfigurationResponseParams `json:"Response"`
}

func (r *RemovePermissionPolicyFromRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemovePermissionPolicyFromRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveUserFromGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type RemoveUserFromGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

func (r *RemoveUserFromGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveUserFromGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	delete(f, "UserId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveUserFromGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveUserFromGroupResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemoveUserFromGroupResponse struct {
	*tchttp.BaseResponse
	Response *RemoveUserFromGroupResponseParams `json:"Response"`
}

func (r *RemoveUserFromGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveUserFromGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RoleAssignmentInfo struct {
	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type RoleAssignments struct {
	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Identity ID for the CAM user synchronization. Valid values: When the PrincipalType value is Group, it is the CIC user group ID (g-********). When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values: User: indicates that the identity for the CAM user synchronization is a CIC user; Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User name or user group name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

	// Creation time.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`
}

type RoleConfiguration struct {
	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts.
	// Unit: seconds.
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`

	// Creation time of the permission configuration.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time of the permission configuration.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false.
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`
}

type RoleConfigurationProvisionings struct {
	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`

	// Creation time.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

type RolePolicie struct {
	// Policy ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`

	// Permission policy name.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Permission policy type.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Custom policy content. This parameter is only returned for custom policies.
	RolePolicyDocument *string `json:"RolePolicyDocument,omitnil,omitempty" name:"RolePolicyDocument"`

	// The time when the permission policy is added to the permission configuration.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`
}

type RoleProvisioningsTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the authorized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Task type.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Task status. InProgress: The task is in progress; Failed: The task failed; Success: The task succeeded.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`
}

type SAMLIdPCertificate struct {
	// Certificate serial number.
	SerialNumber *string `json:"SerialNumber,omitnil,omitempty" name:"SerialNumber"`

	// Certificate issuer.
	Issuer *string `json:"Issuer,omitnil,omitempty" name:"Issuer"`

	// Certificate version.
	Version *int64 `json:"Version,omitnil,omitempty" name:"Version"`

	// Certificate ID.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`

	// Public key certificate in PEM format (Base64 encoded).
	PublicKey *string `json:"PublicKey,omitnil,omitempty" name:"PublicKey"`

	// Signature algorithm of the certificate.
	SignatureAlgorithm *string `json:"SignatureAlgorithm,omitnil,omitempty" name:"SignatureAlgorithm"`

	// Expiration time of the certificate.
	NotAfter *string `json:"NotAfter,omitnil,omitempty" name:"NotAfter"`

	// Creation time of the certificate.
	NotBefore *string `json:"NotBefore,omitnil,omitempty" name:"NotBefore"`

	// Certificate subject.
	Subject *string `json:"Subject,omitnil,omitempty" name:"Subject"`

	// X509 certificate in PEM format.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type SAMLIdentityProviderConfiguration struct {
	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP metadata document (Base64 encoded).
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// X509 certificate ID.
	CertificateIds []*string `json:"CertificateIds,omitnil,omitempty" name:"CertificateIds"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

	// Creation time.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type SAMLServiceProvider struct {
	// https://tencentcloudsso.com/saml/sp/z-sjw8ensa**
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SP metadata document (Base64 encoded).
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SP ACS URL.
	AcsUrl *string `json:"AcsUrl,omitnil,omitempty" name:"AcsUrl"`
}

type SCIMCredential struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key type.
	CredentialType *string `json:"CredentialType,omitnil,omitempty" name:"CredentialType"`

	// Creation time of a SCIM key.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Expiration time of a SCIM key.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

// Predefined struct for user
type SendOrgMemberAccountBindEmailRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`
}

type SendOrgMemberAccountBindEmailRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`
}

func (r *SendOrgMemberAccountBindEmailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SendOrgMemberAccountBindEmailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "BindId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SendOrgMemberAccountBindEmailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SendOrgMemberAccountBindEmailResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SendOrgMemberAccountBindEmailResponse struct {
	*tchttp.BaseResponse
	Response *SendOrgMemberAccountBindEmailResponseParams `json:"Response"`
}

func (r *SendOrgMemberAccountBindEmailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SendOrgMemberAccountBindEmailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

	// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type SetExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

	// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

func (r *SetExternalSAMLIdentityProviderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetExternalSAMLIdentityProviderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "EncodedMetadataDocument")
	delete(f, "SSOStatus")
	delete(f, "EntityId")
	delete(f, "LoginUrl")
	delete(f, "X509Certificate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetExternalSAMLIdentityProviderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetExternalSAMLIdentityProviderResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *SetExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

func (r *SetExternalSAMLIdentityProviderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetExternalSAMLIdentityProviderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ShareArea struct {
	// Region name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Region identifier.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Region ID.
	AreaId *int64 `json:"AreaId,omitnil,omitempty" name:"AreaId"`
}

type ShareMember struct {
	// Shared member UIN.
	ShareMemberUin *int64 `json:"ShareMemberUin,omitnil,omitempty" name:"ShareMemberUin"`
}

type ShareResource struct {
	// Shared resource ID.
	//
	// Deprecated: ResourceId is deprecated.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Product resource ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`
}

type ShareUnitMember struct {
	// Shared member UIN.
	ShareMemberUin *int64 `json:"ShareMemberUin,omitnil,omitempty" name:"ShareMemberUin"`

	// Creation time.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type ShareUnitResource struct {
	// Shared resource ID.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Shared resource type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Creation time.
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Product resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`

	// The number of members in a shared unit.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SharedMemberNum *uint64 `json:"SharedMemberNum,omitnil,omitempty" name:"SharedMemberNum"`

	// The number of shared unit members in use.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SharedMemberUseNum *uint64 `json:"SharedMemberUseNum,omitnil,omitempty" name:"SharedMemberUseNum"`

	// Shared administrator OwnerUin.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ShareManagerUin *int64 `json:"ShareManagerUin,omitnil,omitempty" name:"ShareManagerUin"`
}

type Tag struct {
	// Tag key
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

type TaskInfo struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the authorized target member account.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Identity ID for the user authorization. If the identity type is CIC user, it is the user ID; if the identity type is user group, it is the user group ID.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the user authorization. User: CIC user; Group: CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// Task type.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Cause of the failure.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailureReason *string `json:"FailureReason,omitnil,omitempty" name:"FailureReason"`
}

type TaskStatus struct {
	// Task status. Valid values: InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task type. Valid values:ProvisionRoleConfiguration: Deploy permission configurations.
	// DeprovisionRoleConfiguration: Undeploy permission configurations.CreateRoleAssignment: Grant authorizations on member accounts.
	// DeleteRoleAssignment: Remove authorizations on member accounts.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Cause of task failure.
	// Description.
	// This parameter is displayed only when the Status is Failed.
	FailureReason *string `json:"FailureReason,omitnil,omitempty" name:"FailureReason"`
}

// Predefined struct for user
type UpdateCustomPolicyForRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy name, which contains up to 32 characters.
	CustomPolicyName *string `json:"CustomPolicyName,omitnil,omitempty" name:"CustomPolicyName"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	NewCustomPolicyDocument *string `json:"NewCustomPolicyDocument,omitnil,omitempty" name:"NewCustomPolicyDocument"`
}

type UpdateCustomPolicyForRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy name, which contains up to 32 characters.
	CustomPolicyName *string `json:"CustomPolicyName,omitnil,omitempty" name:"CustomPolicyName"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	NewCustomPolicyDocument *string `json:"NewCustomPolicyDocument,omitnil,omitempty" name:"NewCustomPolicyDocument"`
}

func (r *UpdateCustomPolicyForRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateCustomPolicyForRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "CustomPolicyName")
	delete(f, "NewCustomPolicyDocument")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateCustomPolicyForRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateCustomPolicyForRoleConfigurationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateCustomPolicyForRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCustomPolicyForRoleConfigurationResponseParams `json:"Response"`
}

func (r *UpdateCustomPolicyForRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateCustomPolicyForRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// New user group name.
	NewGroupName *string `json:"NewGroupName,omitnil,omitempty" name:"NewGroupName"`

	// New user group description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`
}

type UpdateGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// New user group name.
	NewGroupName *string `json:"NewGroupName,omitnil,omitempty" name:"NewGroupName"`

	// New user group description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`
}

func (r *UpdateGroupRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateGroupRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "GroupId")
	delete(f, "NewGroupName")
	delete(f, "NewDescription")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGroupRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateGroupResponse struct {
	*tchttp.BaseResponse
	Response *UpdateGroupResponseParams `json:"Response"`
}

func (r *UpdateGroupResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateGroupResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationIdentityRequestParams struct {
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`
}

type UpdateOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`
}

func (r *UpdateOrganizationIdentityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationIdentityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IdentityId")
	delete(f, "Description")
	delete(f, "IdentityPolicy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateOrganizationIdentityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationIdentityResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationIdentityResponseParams `json:"Response"`
}

func (r *UpdateOrganizationIdentityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationIdentityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationMemberEmailBindRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`

	// Email address.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

type UpdateOrganizationMemberEmailBindRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`

	// Email address.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

func (r *UpdateOrganizationMemberEmailBindRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationMemberEmailBindRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "BindId")
	delete(f, "Email")
	delete(f, "CountryCode")
	delete(f, "Phone")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateOrganizationMemberEmailBindRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationMemberEmailBindResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateOrganizationMemberEmailBindResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationMemberEmailBindResponseParams `json:"Response"`
}

func (r *UpdateOrganizationMemberEmailBindResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationMemberEmailBindResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationMemberRequestParams struct {
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks, which contain up to 40 characters.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Relationship policy type. When PolicyType is not empty, PermissionIds cannot be empty. Value: Financial.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission IDs. When PermissionIds is not empty, PolicyType cannot be empty.
	// Valid values: 1: View bills. 2: View balance. 3: Allocate funds. 4: Consolidate bills. 5: Issue invoices. 6: Inherit discounts. 7: Pay on behalf. 8: Analyze costs. 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Whether to allow members to exit an organization. Valid values: Allow: permitted, Denied: not permitted.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used in member financial permission. The value is the principal administrator UIN of the corresponding member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`
}

type UpdateOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks, which contain up to 40 characters.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Relationship policy type. When PolicyType is not empty, PermissionIds cannot be empty. Value: Financial.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission IDs. When PermissionIds is not empty, PolicyType cannot be empty.
	// Valid values: 1: View bills. 2: View balance. 3: Allocate funds. 4: Consolidate bills. 5: Issue invoices. 6: Inherit discounts. 7: Pay on behalf. 8: Analyze costs. 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Whether to allow members to exit an organization. Valid values: Allow: permitted, Denied: not permitted.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used in member financial permission. The value is the principal administrator UIN of the corresponding member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`
}

func (r *UpdateOrganizationMemberRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationMemberRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MemberUin")
	delete(f, "Name")
	delete(f, "Remark")
	delete(f, "PolicyType")
	delete(f, "PermissionIds")
	delete(f, "IsAllowQuit")
	delete(f, "PayUin")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateOrganizationMemberRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationMemberResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationMemberResponseParams `json:"Response"`
}

func (r *UpdateOrganizationMemberResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationMemberResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationNodeRequestParams struct {
	// Node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type UpdateOrganizationNodeRequest struct {
	*tchttp.BaseRequest
	
	// Node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *UpdateOrganizationNodeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationNodeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "NodeId")
	delete(f, "Name")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateOrganizationNodeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateOrganizationNodeResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateOrganizationNodeResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationNodeResponseParams `json:"Response"`
}

func (r *UpdateOrganizationNodeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateOrganizationNodeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// New permission configuration description, which contains up to 1,024 characters.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// New session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours).
	NewSessionDuration *int64 `json:"NewSessionDuration,omitnil,omitempty" name:"NewSessionDuration"`

	// New initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page.
	NewRelayState *string `json:"NewRelayState,omitnil,omitempty" name:"NewRelayState"`
}

type UpdateRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// New permission configuration description, which contains up to 1,024 characters.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// New session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours).
	NewSessionDuration *int64 `json:"NewSessionDuration,omitnil,omitempty" name:"NewSessionDuration"`

	// New initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page.
	NewRelayState *string `json:"NewRelayState,omitnil,omitempty" name:"NewRelayState"`
}

func (r *UpdateRoleConfigurationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateRoleConfigurationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "RoleConfigurationId")
	delete(f, "NewDescription")
	delete(f, "NewSessionDuration")
	delete(f, "NewRelayState")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateRoleConfigurationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateRoleConfigurationResponseParams struct {
	// Permission configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *UpdateRoleConfigurationResponseParams `json:"Response"`
}

func (r *UpdateRoleConfigurationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateRoleConfigurationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateSCIMCredentialStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	NewStatus *string `json:"NewStatus,omitnil,omitempty" name:"NewStatus"`
}

type UpdateSCIMCredentialStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	NewStatus *string `json:"NewStatus,omitnil,omitempty" name:"NewStatus"`
}

func (r *UpdateSCIMCredentialStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateSCIMCredentialStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "CredentialId")
	delete(f, "NewStatus")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateSCIMCredentialStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateSCIMCredentialStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateSCIMCredentialStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateSCIMCredentialStatusResponseParams `json:"Response"`
}

func (r *UpdateSCIMCredentialStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateSCIMCredentialStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateSCIMSynchronizationStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`
}

type UpdateSCIMSynchronizationStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`
}

func (r *UpdateSCIMSynchronizationStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateSCIMSynchronizationStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "SCIMSynchronizationStatus")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateSCIMSynchronizationStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateSCIMSynchronizationStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateSCIMSynchronizationStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateSCIMSynchronizationStatusResponseParams `json:"Response"`
}

func (r *UpdateSCIMSynchronizationStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateSCIMSynchronizationStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateShareUnitRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

type UpdateShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

func (r *UpdateShareUnitRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateShareUnitRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UnitId")
	delete(f, "Name")
	delete(f, "Description")
	delete(f, "ShareScope")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateShareUnitRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateShareUnitResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *UpdateShareUnitResponseParams `json:"Response"`
}

func (r *UpdateShareUnitResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateShareUnitResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// First name of the user.
	NewFirstName *string `json:"NewFirstName,omitnil,omitempty" name:"NewFirstName"`

	// Last name of the user.
	NewLastName *string `json:"NewLastName,omitnil,omitempty" name:"NewLastName"`

	// Display name of the user.
	NewDisplayName *string `json:"NewDisplayName,omitnil,omitempty" name:"NewDisplayName"`

	// User description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Email address of the user.
	NewEmail *string `json:"NewEmail,omitnil,omitempty" name:"NewEmail"`
}

type UpdateUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// First name of the user.
	NewFirstName *string `json:"NewFirstName,omitnil,omitempty" name:"NewFirstName"`

	// Last name of the user.
	NewLastName *string `json:"NewLastName,omitnil,omitempty" name:"NewLastName"`

	// Display name of the user.
	NewDisplayName *string `json:"NewDisplayName,omitnil,omitempty" name:"NewDisplayName"`

	// User description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Email address of the user.
	NewEmail *string `json:"NewEmail,omitnil,omitempty" name:"NewEmail"`
}

func (r *UpdateUserRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserId")
	delete(f, "NewFirstName")
	delete(f, "NewLastName")
	delete(f, "NewDisplayName")
	delete(f, "NewDescription")
	delete(f, "NewEmail")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateUserRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserResponseParams struct {
	// User information
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateUserResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserResponseParams `json:"Response"`
}

func (r *UpdateUserResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// User status. Valid values: Enabled, Disabled.
	NewUserStatus *string `json:"NewUserStatus,omitnil,omitempty" name:"NewUserStatus"`
}

type UpdateUserStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// User status. Valid values: Enabled, Disabled.
	NewUserStatus *string `json:"NewUserStatus,omitnil,omitempty" name:"NewUserStatus"`
}

func (r *UpdateUserStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserId")
	delete(f, "NewUserStatus")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateUserStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateUserStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserStatusResponseParams `json:"Response"`
}

func (r *UpdateUserStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// User synchronization description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	NewDuplicationStateful *string `json:"NewDuplicationStateful,omitnil,omitempty" name:"NewDuplicationStateful"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	NewDeletionStrategy *string `json:"NewDeletionStrategy,omitnil,omitempty" name:"NewDeletionStrategy"`
}

type UpdateUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// User synchronization description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	NewDuplicationStateful *string `json:"NewDuplicationStateful,omitnil,omitempty" name:"NewDuplicationStateful"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	NewDeletionStrategy *string `json:"NewDeletionStrategy,omitnil,omitempty" name:"NewDeletionStrategy"`
}

func (r *UpdateUserSyncProvisioningRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserSyncProvisioningRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "UserProvisioningId")
	delete(f, "NewDescription")
	delete(f, "NewDuplicationStateful")
	delete(f, "NewDeletionStrategy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateUserSyncProvisioningRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateUserSyncProvisioningResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserSyncProvisioningResponseParams `json:"Response"`
}

func (r *UpdateUserSyncProvisioningResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateUserSyncProvisioningResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateZoneRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	NewZoneName *string `json:"NewZoneName,omitnil,omitempty" name:"NewZoneName"`
}

type UpdateZoneRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	NewZoneName *string `json:"NewZoneName,omitnil,omitempty" name:"NewZoneName"`
}

func (r *UpdateZoneRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateZoneRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ZoneId")
	delete(f, "NewZoneName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateZoneRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateZoneResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateZoneResponse struct {
	*tchttp.BaseResponse
	Response *UpdateZoneResponseParams `json:"Response"`
}

func (r *UpdateZoneResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateZoneResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type UserInfo struct {
	// Queried username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// First name of the user.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// Last name of the user.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Creation time of the user.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time of the user.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether selected
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`
}

type UserProvisioning struct {
	// CAM user synchronization status. Valid values:
	// 
	// Enabled: CAM user synchronization is enabled.
	// Disabled: CAM user synchronization is disabled.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// Description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// CAM user synchronization status. Valid values:
	// 
	// Enabled: CAM user synchronization is enabled.
	// Disabled: CAM user synchronization is disabled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity name for the CAM user synchronization. Valid values:When the PrincipalType value is Group, it is the CIC user group name.
	// When the PrincipalType value is User, it is the CIC user name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`

	// Creation time.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

type UserProvisioningsTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// UIN of the authorized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Task type. StartProvisioning: Start the user synchronization; DeleteProvisioning: Delete the user synchronization.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Task status. InProgress: The task is in progress; Failed: The task failed; Success: The task succeeded.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// Identity ID for the CAM user synchronization. Valid values: When the PrincipalType value is Group, it is the CIC user group ID (g-********). When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values: User: indicates that the identity for the CAM user synchronization is a CIC user; Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User name or user group name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

	// Conflict policy. KeepBoth: Keep both; TakeOver: Replace.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy: Delete, Keep.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`
}

type UserSyncProvisioning struct {
	// Description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

type ZoneStatistics struct {
	// User quota.
	UserQuota *int64 `json:"UserQuota,omitnil,omitempty" name:"UserQuota"`

	// User group quota.
	GroupQuota *int64 `json:"GroupQuota,omitnil,omitempty" name:"GroupQuota"`

	// Permission configuration quota.
	RoleConfigurationQuota *int64 `json:"RoleConfigurationQuota,omitnil,omitempty" name:"RoleConfigurationQuota"`

	// System policy quota bound to the permission configuration.
	SystemPolicyPerRoleConfigurationQuota *int64 `json:"SystemPolicyPerRoleConfigurationQuota,omitnil,omitempty" name:"SystemPolicyPerRoleConfigurationQuota"`

	// Number of users.
	UserCount *int64 `json:"UserCount,omitnil,omitempty" name:"UserCount"`

	// Number of user groups.
	GroupCount *int64 `json:"GroupCount,omitnil,omitempty" name:"GroupCount"`

	// Number of permission configurations.
	RoleConfigurationCount *int64 `json:"RoleConfigurationCount,omitnil,omitempty" name:"RoleConfigurationCount"`

	// Number of synchronized users.
	UserProvisioningCount *int64 `json:"UserProvisioningCount,omitnil,omitempty" name:"UserProvisioningCount"`

	// Number of synchronized roles.
	RoleConfigurationSyncCount *int64 `json:"RoleConfigurationSyncCount,omitnil,omitempty" name:"RoleConfigurationSyncCount"`
}